﻿namespace PLCS.Domain.Solutions;

public interface ISolutionRepository : IRepository<Solution, Guid>
{
    Task<IEnumerable<Solution>> GetSolutionListAsync();

    Task<Solution> GetSolutionByNoAsync(string solutionNo);

    Task<SolutionStep?> GetSolutionStepByNoAsync(string solutionStepNo);

    Task<SolutionStep> InsertSolutionStepAsync(string stepOrder, string process);

    Task<SolutionStep> UpdateSolutionStepAsync(SolutionStep solutionStep);

    Task<SolutionStep?> FindSolutionStepAsync(Func<SolutionStep, bool> predicate);
}